package com.tinckay.entity.po;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 泵车前端监测数据
 * </p>
 *
 * @author Jean
 * @since 2018-11-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pour_pump_mon_data")
@ApiModel(value = "PumpMonData对象", description = "泵车前端监测数据")
public class PumpMonData extends Model<PumpMonData> {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "数据ip来源")
    private String ip;

    @ApiModelProperty(value = "所属泵车编号")
    private String pumpCode;

    @ApiModelProperty(value = "所属仓体编号")
    private String storeCode;

    @ApiModelProperty(value = "100新增，90（监测准备完毕），99（监测准备中），10（速度15泵送），11（速度15泵送暂停），30（速度30泵送），31（速度30泵送暂停），0停止")
    private Integer storeState;

    @ApiModelProperty(value = "电机状态（0未开启，1开启）")
    private Boolean emIsOpen;

    @ApiModelProperty(value = "（0未开启，1开启）如果未开启，将不能发送泵送速度调整命令")
    private Boolean emTriangleIsOpen;

    @ApiModelProperty(value = "泵车泵送状态（0未工作，1正泵，2反泵）")
    private Boolean workState;

    @ApiModelProperty(value = "泵车初始档位（此挡位做为泵送速度的基数，泵送速度是按此数值的百分比调整）")
    private Integer speed;

    @ApiModelProperty(value = "比例阀电流反馈的是百分比设定速度对应比例电流值")
    private Integer proportionalCurrent;

    @ApiModelProperty(value = "油温")
    private Integer oilTemp;

    @ApiModelProperty(value = "泵送压力")
    private BigDecimal pumpPressure;

    @ApiModelProperty(value = "搅拌压力")
    private BigDecimal stirPressure;

    @ApiModelProperty(value = "分配压力")
    private BigDecimal allocPressure;

    @ApiModelProperty(value = "组合状态A 0无、3左接近开关、4右接近开关、5泵送启停、6反泵、7高压、8搅拌超压")
    private Integer groupAState;

    @ApiModelProperty(value = "组合状态B 0无、1电机启动、2紧急停止、3低液位、4左主缸点动、5右主缸点动、6分配左摆点动、7分配右摆点动")
    private Integer groupBState;

    @ApiModelProperty(value = "组合状态C 0无、1左主缸输出、2右主缸输出、3左分配输出、4右分配输出、5搅拌反转输出、6无、7风扇打开、8电机星形运转")
    private Integer groupCState;

    @ApiModelProperty(value = "数据时间")
    @TableField(value = "dataTime", fill = FieldFill.INSERT)
    private LocalDateTime dataTime;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
